﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUSService;
using DTOService;

namespace QuanLyBangDia
{
    public partial class frmQuanLyTinhTrangBangDia : Form
    {
        MyService myService = new MyService();

        public frmQuanLyTinhTrangBangDia()
        {
            InitializeComponent();
            this.Icon = QuanLyBangDia.Properties.Resources.HDD;
            gv.Columns.Add("MaTinhTrang", "Mã Tình Trạng");
            gv.Columns.Add("TenTinhTrang", "Tên Tình Trạng");
        }

        private void frmQuanLyTinhTrangBangDia_Load(object sender, EventArgs e)
        {
            TinhTrang[] ls = myService.SelectTinhTrang();
            object[] temp;
            foreach (TinhTrang t in ls)
            {
                temp = new object[] { t.MaTinhTrang, t.TenTinhTrang };
                gv.Rows.Add(temp);
            }
            gv.Show();
        }

        private void frmQuanLyTinhTrangBangDia_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.DialogResult = DialogResult.OK;
        }

        private void gv_SelectionChanged(object sender, EventArgs e)
        {
            try
            {
                DataGridViewRow currRow = gv.CurrentRow;
                txtMaTinhTrang.Text = currRow.Cells[0].Value.ToString();
                txtTenTinhTrang.Text = currRow.Cells[1].Value.ToString();
            }
            catch
            {
            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (txtTenTinhTrang.Text == "")
            {
                MessageBox.Show("Nhập tên tình trạng !", "Thông Báo");
                txtTenTinhTrang.Focus();
                return;
            }
            TinhTrang parr = new TinhTrang();
            parr.TenTinhTrang = txtTenTinhTrang.Text;
            int id = myService.InsertTinhTrang(parr);
            if (id > 0)
            {
                object[] temp = new object[] { id, parr.TenTinhTrang };
                gv.Rows.Add(temp);
                MessageBox.Show("Thêm thành công !", "Thông Báo");
            }
            else
                MessageBox.Show("Thêm thất bại !", "Thông Báo");
        }

        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (txtTenTinhTrang.Text == "")
            {
                MessageBox.Show("Nhập tên tình trạng !", "Thông Báo");
                txtTenTinhTrang.Focus();
                return;
            }
            TinhTrang parr = new TinhTrang();
            parr.TenTinhTrang = txtTenTinhTrang.Text;
            parr.MaTinhTrang = int.Parse(txtMaTinhTrang.Text);
            if (myService.UpdateTinhTrang(parr) > 0)
            {
                gv.Rows.Clear();
                frmQuanLyTinhTrangBangDia_Load(sender, e);
                MessageBox.Show("Cập Nhật thành công !", "Thông Báo");
            }
            else
                MessageBox.Show("Cập nhật thất bại !", "Thông Báo");
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult diag = MessageBox.Show("Bạn có chắc chắn muốn xóa tình trạng này không ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (diag == DialogResult.Yes)
                {
                    DataGridViewRow currRow = gv.CurrentRow;
                    TinhTrang parr = new TinhTrang();
                    parr.MaTinhTrang = int.Parse(currRow.Cells[0].Value.ToString());
                    parr.TenTinhTrang = currRow.Cells[1].Value.ToString();
                    if (myService.DeleteTinhTrang(parr) > 0) 
                    {
                        gv.Rows.Remove(gv.CurrentRow);
                        gv.Show();
                        MessageBox.Show("Xóa thành công !", "Thông Báo");
                    }
                    else
                        MessageBox.Show("Xóa thất bại !", "Thông Báo");
                }
            }
            catch
            {
            }
        }

    }
}
